Web browsers have become highly capable software packages in recent years. In addition to rendering web pages, a web browser may run small applications, sometimes referred to as “widgets.” Many web browsers also support the ability to run more complex web applications in the web browser. Such web applications may be implemented using various web technologies such as HTML, XHTML, XML, and Asynchronous JavaScript and XML(Ajax).
Although a web application has many advantages, it suffers in a number of areas. For instance, because the web application depends on the web browser, the web browser must start before the web application can run. This delay may be unappealing to the end user, especially if the device running the web application has limited processing capability, as is the case for many mobile devices. In addition, if the web browser is not running, the web application is not running either. Therefore, the web application is unable to update its data. Furthermore, if the user wishes to run several web applications at the same time, the user must explicitly start each application. Also, there is no simple way for multiple web applications to have a shared set of user input controls.
Some widgets may run in a web browser on a mobile device, such as a cellular telephone. These widgets have some benefits of web applications such as being relatively easy for a developer to write using web technologies, but suffer in other areas. First, a user cannot click on a hyperlink in a widget to download a web page. Second, when a user wishes to switch from one widget to another, the user exits the underlying browser running the first widget and then starts a new browser instance to run the second widget. Since the two widgets are not running simultaneously, the process of switching from one widget to another takes a significant amount of time, which is undesirable for the end user. Additionally, there is no mechanism for managing multiple widgets from a common user interface.
Web-based advertising has become common practice, whereby advertisements are inserted into web pages based on a variety of criteria. If the web browser is not connected to the Internet, however, the advertisement cannot be inserted into the web page. For a mobile device, such as a cellular telephone, it is common for the device to be disconnected from the network when receiving a when weak signal or when out of a coverage area. Furthermore, the advertisement hosting provider cannot collect advertising revenue for ads that are clicked when the device is offline, even though the end user has viewed and/or clicked the ad. In such cases, an advertiser may get the benefit of the advertising without paying the provider for use of the communication medium. Moreover, current widgets do not readily support web-based advertising.